Tracking objects in a two dimensional space

ABSTRACT

A method for tracking objects in a two-dimensional space includes first tracking devices that are activated to read tagged objects within the reading ranges of the first tracking devices. Second tracking devices are activated to read tagged objects within the reading ranges of the second tracking devices. The tagged objects read by each first tracking device are compared to the tagged objects read by each second tracking device, and based on the locations of the tagged objects read by the first and second tracking devices, the locations of the tagged objects are determined.

BACKGROUND Technical Field

The present disclosure relates to methods and systems for locating andtracking objects in a two dimensional space. In particular, the methodand system locate and track objects with radio-frequency identification(RFID) readers.

Description of the Related Art

RFID technology uses electromagnetic fields to identify and track tagsattached to objects. A RFID tag contains electronically-storedinformation that uniquely identifies the tag, and by extension theobject with which the tag is associated.

In an application of passive RFID technology, a RFID reader emits radiofrequency energy to energize a RFID tag in range of the reader. Theenergy received by the RFID tag charges and energizes its circuits. Whena sufficient amount of energy has been received, the RFID tag emits aradio signal transmitting an encoded identification number that isdetected by the receiver. The receiver decodes the transmittedidentification number and reads it.

A drawback of RFID technology is that the passive reading of a RFID tagprovides little to no information on the location of the tag and theobject to which it is associated. While a reader may have an effectivereading range that extends a distance from the reader, not much can belearned regarding the location of the tagged object with respect to thereader.

SUMMARY

In one embodiment, the present disclosure provides a method for taggingand tracking objects in a two dimensional space. In the method, firsttracking devices are activated to read tagged objects in the space thatare within the reading ranges of the first tracking devices. The firsttracking devices have non-overlapping reading ranges. Second trackingdevices are activated to read tagged objects in the space that arewithin the reading ranges of the second tracking devices. The secondtracking devices have non-overlapping reading ranges. The tagged objectsread by each first tracking device are compared to the tagged objectsread by each second tracking device. The locations of the tagged objectsin the two dimensional space read by the first and second trackingdevices are determined, based on the locations of the first and secondtracking devices that read the tagged objects.

In another aspect of the present disclosure, a system is provided fortagging and tracking objects in a two dimensional space. The systemincludes one or more processors including memory and radio-frequencyidentification readers arranged in a selected tracking configuration toread tagged objects that include radio-frequency identification tags. Aradio-frequency identification reader controller sequentially activatesgroups of radio-frequency identification readers in which the readers ofa group have non-overlapping reading ranges. A radio-frequencyidentification data collector matches the tagged objects to the radiofrequency identification readers that read the tagged objects. Aradio-frequency data analyzer determines the locations of theradio-frequency identification tags based on locations of theradio-frequency identification readers.

In yet another aspect of the present disclosure, a computer programproduct is described for tagging and tracking objects in a twodimensional space, the computer program product comprising anon-transitory computer readable storage medium having programinstructions embodied therewith, the program instructions beingexecutable by a computer to cause the computer to perform a method inwhich first tracking devices are activated to read tagged objects in thespace that are within the reading ranges of the first tracking devices.The first tracking devices have non-overlapping reading ranges. Secondtracking devices are activated to read tagged objects in the space thatare within the reading ranges of the second tracking devices. The secondtracking devices have non-overlapping reading ranges. The tagged objectsread by each first tracking device are compared to the tagged objectsread by each second tracking device. The locations of the tagged objectsin the two dimensional space read by the first and second trackingdevices are determined, based on the locations of the first and secondtracking devices that read the tagged objects.

In another embodiment, the present disclosure provides a method fortagging and tracking objects in a two-dimensional space. The methodincludes sequentially activating first tracking devices of a pluralityof tracking devices that read tagged objects in the two-dimensionalspace that are within reading ranges of the first tracking devices, andsecond tracking devices of the plurality of tracking devices that readtagged objects in the two-dimensional space that are within readingranges of the second tracking devices. The method further includescomparing data collected from each of the plurality of tracking devicesto identify that at least given one of the tagged objects has been readby at least two of the plurality of tracking devices, and determining alocation of the given tagged object based on the locations of the atleast two tracking devices that read the tagged objects.

In another aspect of the present disclosure, a system is provided fortracking tagged objects in a two dimensional space. The system includesa memory device for storing program code, and at least one processordevice operatively coupled to the memory device. The at least oneprocessor device is configured to execute program code stored on thememory device to sequentially activate first tracking devices of aplurality of tracking devices that read tagged objects in thetwo-dimensional space that are within reading ranges of the firsttracking devices, and second tracking devices of the plurality oftracking devices that read tagged objects in the two-dimensional spacethat are within reading ranges of the second tracking devices. The atleast one processor device is further configured to compare datacollected from each of the plurality of tracking devices to identifythat at least given one of the tagged objects has been read by at leasttwo of the plurality of tracking devices, and determine a location ofthe given tagged object based on the locations of the at least twotracking devices that read the tagged objects.

In yet another aspect of the present disclosure, a computer programproduct is provided. The computer program product includes anon-transitory computer readable storage medium having programinstructions embodied therewith, the program instructions beingexecutable by a computer to cause the computer to perform a method fortracking tagged objects in a two dimensional space. The method includessequentially activating first tracking devices of a plurality oftracking devices that read tagged objects in the two-dimensional spacethat are within reading ranges of the first tracking devices, and secondtracking devices of the plurality of tracking devices that read taggedobjects in the two-dimensional space that are within reading ranges ofthe second tracking devices. The method further includes comparing datacollected from each of the plurality of tracking devices to identifythat at least given one of the tagged objects has been read by at leasttwo of the plurality of tracking devices, and determining a location ofthe given tagged object based on the locations of the at least twotracking devices that read the tagged objects.

These and other features and advantages will become apparent from thefollowing detailed description of illustrative embodiments thereof,which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The disclosure will provide details in the following description ofpreferred embodiments with reference to the following figures wherein:

FIG. 1 is a block diagram depicting an exemplary embodiment of a systemfor tracking objects in a two dimensional space in accordance with thepresent principles;

FIG. 2 is a block diagram depicting another exemplary embodiment of asystem for tracking objects in a two dimensional space in accordancewith the present principles;

FIG. 3 depicts a schematic view of an exemplary embodiment in whichobjects are tracked in a two dimensional space with a first group ofRFID readers in accordance with the present principles;

FIG. 4 depicts a schematic view of an exemplary embodiment in whichobjects are tracked in a two dimensional space with a second group ofRFID readers, e.g., a different group than that of FIG. 3, in accordancewith the present principles;

FIG. 5 depicts a schematic view of an exemplary embodiment of trackingobjects in a two dimensional space that employs RFID readers and camerasin accordance with the present principles;

FIG. 6 depicts a side cross-sectional view of an exemplary embodiment ofan object to be tracked in a two dimensional space that has an RFID tag,a light emitting source, and the circuitry to power them, in accordancewith the present principles;

FIG. 7 is a block/flow diagram depicting an exemplary embodiment of amethod for tracking objects in a two dimensional space in accordancewith the present principles;

FIG. 8 is a block/flow diagram depicting another exemplary embodiment ofa method for tracking objects in a two dimensional space in accordancewith the present principles;

FIG. 9 depicts an exemplary embodiment of a processing system inoperative communication with an exemplary embodiment of an objecttracking system in accordance with the present principles;

FIG. 10 is a block diagram depicting an exemplary cloud computing nodein accordance with an embodiment of the present principles;

FIG. 11 is a block diagram depicting an exemplary cloud computingenvironment in accordance with an embodiment of the present principles;and

FIG. 12 is a block diagram depicting exemplary abstraction model layers,in accordance with an embodiment of the present principles.

DETAILED DESCRIPTION

According to an embodiment of the present principles, systems, methodsand computer program products are described for tagging and trackingobjects in a two dimensional space. Objects may move in a twodimensional space, and the movement may be frequent. According to thepresent principles, the locations of objects are determined in realtime, providing up-to-date information on where the object is positionedin the space. As an example, chips used in a game of chance played in acasino or other gaming establishment move continuously during the courseof play. Chips may move from player to player, from house to player (andvice versa), and may be cashed out in exchange for the monetary valuethat the chips represent. It is possible that some persons may try toplay a casino game dishonestly. Being able to authenticate gaming chipsand to track chip locations in real time in accordance with theembodiments of the present principles may be of benefit to a casino andits managers.

There are other instances in which knowing the locations of objects inreal time would be of benefit to individuals and entities. For example,tracking surgical instruments would benefit operating room and medicalpersonnel. Tracking medications would also be of benefit to medicalpersonnel, to pharmacists, and to drug manufacturers and suppliers. In aday care setting, it would be advantageous if, for example, the shoes ofyoung children could be tagged for tracking. Robot tracking of objectswould also be advantageous, e.g., the robots could access information onobject location that is useful in performing a task. These are just afew examples where location tracking in a two dimensional space providesbenefits.

While an RFID reader may have a relatively limited range, e.g., onlyable to read RFID tags that are within a short distance of the reader,according to embodiments of present principles, an array of RFID readerscovering an area corresponding to a two dimensional space may be used toidentify and track objects provided with RFID tags, allowing for theidentification and location of the object in a two dimensional space.According to one embodiment, RFID readers are provided in atwo-dimensional array, e.g., an array of RFID readers configured as agrid. The range of each RFID reader is set to a certain known range,e.g., a reading range. The reading range of each RFID reader in thearray overlaps with the reading range of at least one of its neighboringRFID readers. Adjustments may be made to calibrate the reading range orthe selected reading distance.

In other aspects of the present disclosure, systems and methods fortagging and tracking objects in a two dimensional space are described inwhich the tagged objects are provided with light-emitting sources. Inone embodiment, circuitry provided in the object is energized by thesignal transmitted by an RFID reader or by a light source transmitting aselected activating specific wavelength. The circuitry, when energizedby the activating signal sent by an RFID reader (which the object is inrange of), activates the RFID tag and the light source. The transmissionsignal from the RFID tag and emission of light from the light source maybe simultaneous. In addition to the two-dimensional array of RFIDreaders, one or more cameras are provided in association with the arrayto visually observe the objects and the emissions of light when thecircuitry in the objects is powered. Camera distances to the locationsin the array are known or can be determined, allowing for thedetermination of an object's location through the visual informationprovided in images taken by the cameras. The simultaneous transmissionsof light and the signal from the RFID tags, when detected by the camerasand the RFID readers, may provide a more accurate and precisedetermination of the locations of the objects in the two dimensionalspace.

Referring now to the drawings in which like numerals represent the sameor similar elements and initially to FIG. 1, a system 100 for trackingobjects in a two-dimensional space in accordance with an embodiment ofthe present principles is shown with respect to an operationalenvironment in which it can be utilized. System 100 may be a computersystem or computer environment, such as later described herein inconjunction with FIG. 9, that determines the locations of the objectswithin a two dimensional space. System 100 may be local, e.g., at thesite of where objects are being tracked. System 100 may be remotelylocated, e.g., at a location away from where the objects are beingtracked, such as a computing environment located elsewhere in thefacility where the objects are being tracked, or the system may belocated offsite. System 100 may also be located in a cloud computingenvironment.

System 100 includes an object tracker 102 that includes one or moreprocessors 114 and memory 108 for storing applications, modules andother data. In one embodiment, the memory unit 108 includes a largenumber of memory blocks e.g., where calculations and data analysis maybe performed. The system 100 may also include one or more displays 110for viewing content. The display 110 may permit a user to interact withthe system and its components and functions. This may be facilitated bythe inclusion of a user interface 112, which may include a mouse,joystick, or any other peripheral or control to permit user interactionwith the system and/or its devices. It should be understood that thecomponents and functions of the system may be represented as one or morediscrete systems or workstations, or may be integrated as part of alarger system or workstation.

System 100 receives input 104 from an array of RFID readers 105. Anexemplary array of RFID readers is shown in the schematic views of FIG.3, FIG. 4 and FIG. 5, which illustrate embodiments for tracking objectsin the two dimensional space. In those figures, the RFID readers areassigned component number 172 and the array is assigned component number170.

Referring back to FIG. 1, the RFID readers 105 transmit identificationinformation to the system associated with the tagged objects when, forexample, the signal transmitted by an RFID reader 105 in the arrayactivates an RFID tag included in an object that is within the range ofthat reader. Such information may be in the form of a list of tags thatis generated by each reader.

The system may further have an RFID reader controller 116, whichprovides for several aspects of the embodiments in accordance with thepresent principles. For example, the RFID reader controller 116 maystore information about the array and the RFID readers within the array,such as the locations of each RFID reader within the array, the distanceof each reader in the array from its nearest neighbors, the distance ofeach reader in the array from the other readers in the array, and thereading range of each reader in the array. From this information, theRFID reader controller 116 may categorize the readers of the array intogroups of readers, in which the readers of each group do not havereading ranges that overlap with the reading range of any other readerin that group. The RFID reader controller 116 may manage and control thegroups, maintain information on the members of the group, may set up asequence in which groups are to be activated, may activate of the groupsin accordance with the sequence, and may confirm that each reader in thearray has been activated, and if confirmation is not found, then takeaction to insure that each reader has been activated. In one embodiment,the RFID reader controller 116 may configure the groups such that thereaders of a group are unique to that group, e.g., the RFID readers 105of a given reading group are dissimilar to the RFID readers 105 of theother reading groups.

For example, RFID reader controller 116 controls a reading cycle inwhich RFID readers 105 of a first group are activated to read RFID tagswithin their reading ranges. The RFID readers 105 of the first grouphave reading ranges that do not overlap with the reading ranges of theother RFID readers 105 in that group. After reading is completed, e.g.,after the signal transmitted by the RFID readers of the first groupenergizes RFID tags within the reading ranges and the RFID readersreceive identifying information transmitted by the energized RFID tags,the RFID reader controller 116 continues the reading cycle by activatingRFID readers 105 of a second group to read RFID tags within theirreading ranges. The RFID readers 105 of the second group have readingranges that do not overlap with the reading ranges of the other RFIDreaders 105 in the second group. The RFID reader controller 116continues the reading cycle by activating groups of RFID readers 105until all RFID readers 105 in the array have been activated and haveread within-range RFID tags.

When RFID readers 105 are activated by the RFID reader controller 116,RFID tags that are in range of RFID readers 105 are activated andtransmit unique identification data contained in the RFID tags to theRFID readers 105, which then transmit the data to the object tracker102, where the data is collected and analyzed in the RFID data collector118. The reading of the RFID tags by the RFID readers 105 may be timestamped. In one embodiment, the RFID data collector 118 may perform thetime stamping.

The RFID data collector 118 collects the data received from RFIDreaders. The data may include the identities of the RFID tags that wereread during the reading process, with each RFID tag sending its ownunique identification data to the RFID readers, which then send thisinformation to system 100, where it arrives in the RFID data collector118. The data may also include identifying and location information onthe RFID readers that read the tags. RFID data collector 118 matches thetagged objects to the RFID readers that read the tagged objects. Theinformation received by the RFID data collector 118 may be in a listform, e.g., a list of tag identities read by each reader. If theinformation is not received in a list form, then the RFID data collector118 may compile lists of the tags read by each RFID reader 105.

The RFID data analyzer 120 reviews RFID tag identities that have beenread by one or more RFID readers 105 in preparing to make locationdeterminations for the RFID tags. The RFID data analyzer 120 may findthat an RFID tag may have been read by two or more RFID readers 105,e.g., two or more readers activated during the reading cycles. The RFIDdata collector 120 may arrive at this finding by comparing the datacollected by each RFID reader 105 of the array. When the RFID dataanalyzer 120 finds an RFID tag that has been read by two or more RFIDreaders 105, then the location of the RFID readers is determined basedon the locations of the RFID readers 105, which location information maybe stored in the RFID reader controller 116. By determining the locationof an RFID tag, the location of the object having the RFID tag may alsobe determined. In one embodiment, where two RFID readers 105 have readthe same RFID tag, the RFID data analyzer makes the locationdetermination based on the location of one RFID reader, the location ofthe other RFID reader, and the distance between the two readers. In oneembodiment, the RFID data analyzer 120 determines the RFID tag to be ata location that is the mean distance between the two RFID readers.

The RFID data analyzer 120 may compare the information gathered by RFIDreaders 105 in making object location determinations, for example,looking for instances where an RFID tag is read by two or more RFIDreaders 105. When an RFID tag is read by two or more RFID readers 105(which, as indicated the above, may belong to different groups of RFIDreaders), then the location of the RFID tag, and by extension, theobject having the RFID tag, is determined to be near the RFID readersthat read the RFID tag, e.g., at a location that is the mean distancebetween the two RFID readers. In the situation where an RFID tag appearson only one RFID reader list, then the object associated with the tag isdetermined to be located proximate to the reader.

The RFID data analyzer 120 generates the determination of the locationof the RFID tag, and by extension the object that includes the RFID tag,as system output 130.

FIG. 2 depicts an alternate system embodiment 140 for tracking objectsin a two-dimensional space in accordance with another embodiment of thepresent principles. System 140 includes components 102, 104, 108, 110,112, 114, 116, 118, and 120 of system 100, which operate as describedabove in regard to system 100. The above description of those componentsis relied on herein.

In addition to receiving the input described above from RFID readers105, system 140 additionally receives visual information transmitted tothe system as input from cameras 106. Cameras 106 may be configured inthe arrangement described in relation to FIG. 5, where cameras areassigned the component number 180. The cameras 180 of FIG. 5 visuallytrack objects that may include illuminating light sources, e.g., objects178 provided with light sources 188. The objects may be as described inrelation to FIG. 6, in which a circuit, upon activation, powers an RFIDtag 186 and a light source 188.

Referring back to FIG. 2, the visual information received by the systemas input may be images taken by cameras 106 that have a view of the twodimensional space in which the objects are being tracked. In oneembodiment, the cameras 106 capture images of illuminating light sourcesin the objects. The light-emitting source may be illuminated by theactivating energy provided by an RFID reader 105, which activatingenergy also activates the RFID transmitter within the RFID tag. In thisarrangement, the illumination of the light source and the transmissionof the signal by the RFID tag may be simultaneous. The light emissionsare captured in images the cameras 106, and the emissions may besimultaneous with the activation of the RFID tag signal and the readingof same by the RFID reader 105.

The images may be video images, in which instance the cameras 106capture video. In another embodiment, the images 106 may be stillimages, in which instance the cameras 106 capture still images. Theimages may be time stamped, e.g., by the cameras 106, indicating thetime at which the images were taken, or by the camera image objectlocater/RFID data synchronizer 124. Further, the reading of the RFIDtags by the RFID readers 105 may be time stamped at the time oftransmission or at the time the information is received by the objecttracker 102, such as by the RFID data collector 118.

The cameras 106 may be calibrated in order to provide an indication ofthe distance between a camera and an object in the two dimensionalspace, that, for example is emitting light from a source that wasactivated by the activating energy provided by the RFID reader. In oneembodiment, the distance determination accounts for the difference inheight and linear distance between the camera 106 and the objectstracked in the two-dimensional space. The correlation of the dataobtained by the RFID readers and the image data captured by the cameras106 may lead to more accurate determinations of object locations.

As stated, the input controller 116, the RFID data collector 118 andRFID data analyzer/tag locator 120 will operate in system 140 asindicated in the description of system 100. System 140 is furtherprovided with a camera image object locater/RFID data synchronizer 124,which receives the camera image data from cameras 106, including imagesof the objects when illuminated. The camera image object locater/RFIDdata synchronizer 124 may also store the above-described informationconcerning the distance between cameras 106 and an object that, forexample, is emitting light from a source that was activated by theactivating energy provided by the RFID reader.

The camera image object locater/RFID data synchronizer 124 may make avisual determination of the distance of the illuminating object from thecamera 106 based on the stored distance information, e.g., the distanceinformation between the camera, e.g., the camera lens and the locationin the two dimensional space where the illuminating object ispositioned. Such a determination may be expressed in a Cartesiancoordinate system, or in another embodiment, it may be expressed in apolar coordinate system.

Having made a visual determination of the location of the illuminatingobject, the camera image object locater/RFID data synchronizer 124 maythen summon the location determination of the objects made by the RFIDdata analyzer 120 to provide a location determination based on acombination of the image data and RFID location data. By comparing theidentity of an RFID tag activated by one or more RFID readers, and theilluminations of the object containing that RFID tag and the times atwhich activation and illumination occurred, the camera image objectlocater/RFID data synchronizer 124 may combine the visual determinationof object location with the RFID location determination to moreprecisely and accurately determine the position of an object in the twodimensional space. The determinations made by the camera image objectlocater/RFID data synchronizer 124 may generated as system output 130.

FIG. 3 depicts a view of a two dimensional array 170 formed of RFIDreaders 172. For the sake of simplicity, only a few exemplary readersare numbered. The exemplary array includes an 11×7 grid arrangement ofRFID readers 172 spaced equidistant from each other in a row-columnarrangement. The columns are designated with a letter from A to L andthe rows are designated with a number from 1 to 7. In this exemplaryconfiguration, each reader 172 is located at a node that is anintersection of a row and column. The range of each reader 172 is knownand determined, with each reader having a range that overlaps with atleast one of the readers that are its closest neighbors. With the rangeof each reader being known, it is possible to place the readers intogroups in which the reading range of each reader in the group does notoverlap with the other readers in the group. The groups may beconstituted of a number of RFID trackers with non-overlapping readingranges. The groups may be constituted of only a single reader, in whichcase each reader of the array is a group. RFID readers 172 may be thoseused in the object tracker system 100 described above in relation toFIG. 1.

The arrangement shown in the figure is merely exemplary. The systemoperator may configure the array of readers in any number ofarrangements with any number of readers and any number of configurationsthat effectively map and cover a two-dimensional space. In oneembodiment in accordance with the present principles, every possiblelocation of the two-dimensional space is covered by at least two RFIDreaders. For example, the arrangement is configured so that everypossible location of the two-dimensional space is within the range of atleast two RFID readers. Also, while the RFID readers are arranged insquares within the array while the arrangement of FIG. 3, otherconfigurations are possible, such as arranging the readers intohexagons, triangles, trapezoids, etc.

In one embodiment, the two-dimensional space 170 is a surface on whichRFID-tagged objects can move about. In one embodiment, the RFID readers172 are located under the surface 170 on which the RFID-tagged objectswill be used. While surface 170 is shown as being transparent, it shouldbe understood that other arrangements are possible. In one exemplaryembodiment, the surface is a gaming table on which a game of chance isplayed, such as a poker table, a blackjack table, a roulette table, acraps table, etc. In such an embodiment, the presence of the RFIDreaders may be surreptitious, e.g., located under the surface of thegaming table, and do not interfere with the activity taking place on thesurface.

Objects 176 equipped with RFID tags move about the surface 170 and aretracked by the RFID readers 172. Such movement may result from peoplemoving objects around the surface, such as people wagering on a casinogame with RFID-tagged chips that represent a monetary amount, with thechips being moved about the gaming table surface by the players and bythe person running the game for the casino. The gaming chips 176 areeach provided with an RFID tag that is affixed to the chip. The RFIDtag, when activated by the signal from a reader 172, transmits anidentifying signal that may be unique to the chip, e.g., a signal uniqueto that chip not duplicated by the other chips. The unique identifyingsignal may contain other information about the chip, such as the chipdenomination, e.g., the monetary amount that the chip represents. Inanother embodiment, the unique identifying signal alone is transmittedby the chip, and other information associated with the uniqueidentifying signal, such as chip denomination, is stored in a database.

Each of the readers 172 has a known reading range 174, e.g., a readingrange that extends outward from the reader. The RFID readers of thegroup have reading ranges that do not overlap with the reading ranges ofany other reader of the group. Upon activation, the RFID readers 172emit radio frequency energy to energize an RFID tagged object 176 inrange of the reader. When in the range, the RFID tags are energized andtransmit a signal that is read by the RFID readers 172 within the rangeof the tagged object 176. The range can be assured in one embodiment byadding an additional light emitting element or a photoelectric elementthat would translate RF signal to electric power. The light can beactivated once the RFID reader queries the tags in range or it may beactivated by a light pulse on a specific wavelength.

The dashed circles 174 depict reading ranges of the RFID readers 172.The ranges 174 of the RFID readers correspond to a sensitivity in whichthe reader 172 is most sensitive to objects 176 that are closer to itand less sensitive when the object is located further away from thereader 172.

As shown, the readers 172 are activated in non-overlapping transmissionranges. In one embodiment, a group of two or more readers 172 areactivated in non-overlapping transmission ranges. As shown in FIG. 3,three readers B5, D1, and F5 are activated. As seen from the circles 176representing reading ranges, the reading ranges do not overlap, e.g.,the signals of the readers do not overlap.

Within the reading ranges for the readers B5, D1, and F5, there areobjects 176, e.g., chips that fall within the ranges for the readers.The RFID tag of each object 176 within a range of a reader is activatedby the signal sent by that reader. In reply, the activated RFID tagtransmits an identifying signal that is read by that reader. The readersB5, D1, and F5 identify the within-range RFID tags, and by extension,the associated objects, based on the unique identifying informationtransmitted by the tags. The readers B5, D1, and F5 may transmit theidentity of the tags to a computer system, such as by wirelesscommunication system, for further processing.

FIG. 4 depicts the objects 176 as being located essentially as they arein FIG. 3. In FIG. 4, the readers B5, D1, and F5 are deactivated andreaders B6, E2 and F6 are activated. As seen from the circles 176representing reading ranges of readers B6, E2 and F6, the reading rangesdo not overlap, e.g., the signals of the readers do not overlap. On theother hand, there is overlap between reading ranges of the FIG. 4 groupand the FIG. 3 group: the reading range of B5 overlaps the reading rangeof B6; the reading range of D1 overlaps the reading range of E2; and thereading range of F5 overlaps the reading range of F6. The RFID tag ofeach object within a range of a reader is activated by the signal sentby that reader and in reply the activated RFID tag transmits itsidentifying signal that is read by that reader. The readers B5, D1, andF5 may transmit the identity of the tags to a computer system, such asby wireless communication system, for further processing.

The identity of the tags read by the readers B5, B6, D1, E2, F5 and F6are compared. Such a comparison may be made by the computer system. Inthe example of FIG. 3 and FIG. 4, it is determined that: the chiplocated on the grid between B-C/5-6 is read by readers B5 and B6; thechip located on the grid between D-E/1-2 is read by readers D1 and E2;and the chip located on the grid between E-F/5-6 is read by readers F5and F6.

Through activating readers as exemplified in FIG. 3 and FIG. 4, adetermination of the location of an object provided with an RFID tag canbe determined, e.g., estimated. In one embodiment, the RFIDtag-including object may be determined to be a location that is the meandistance between the RFID readers that read its tag. For example, thechip located on the grid between D-E/1-2 is determined to be located atthe mean distance between readers D1 and E2. In the situation where anRFID tag appears on only one RFID reader list, then the objectassociated with the tag is determined to be located proximate to thereader.

The activation of groups of readers 172 may occur in sequences of groupsof readers that do not have overlapping ranges. In one embodiment, eachreader is activated at least once. In one other embodiment, groups ofreaders that to not have overlapping ranges may be activatedsimultaneously. The computer system may configure the most efficient wayto activate the readers. In one embodiment, the number of groups ofreaders may minimized, such as by including, within the groups, themaximum possible number of readers with reading ranges that do notoverlap. In yet another embodiment, each reader is a group, and in thisarrangement, each reader is activated and queried singularly andsequentially.

It should be understood that tracking the tagged objects may occurcontinuously and in real time, such as for example as long as the twodimensional space is in use. For example, for as long as there is gamingaction on a table, the above methodology of determining the locations oftagged objects may be engaged in continuously, to provide real timelocation information for the tagged objects.

In one exemplary embodiment, the readers 172 may have a rangecorresponding to a full grid space in all directions (e.g., 360° of gridspace around each sensor), which overlaps with the reading ranges of thenearest neighboring readers.

In one embodiment, the readers 172 compile lists containing the uniqueidentities of the RFID tags that they have read, and transmit thoselists to a computer system. The lists compiled by the readers are thencompared. When the identification information for an RFID tag appears onthe list of more than one reader, a location determination for the RFIDtag is made. In one embodiment, the tag, and by extension the objectbearing the tag is determined to be on the table in the overlapping RFIDreading ranges for the readers that read the tag and the tag isdetermined to be positioned at the mean distance between the readersthat listed the RFID tag information.

In one embodiment the readers are configured in an arrangement in whichthey are close together, which may have the effect increasing the extentof the overlap between nearby readers. By increasing the extent ofoverlap, the mean distance determinations may increase in accuracy. Inone other embodiment, increasing the number of readers and decreasingthe range of each reader may also increase the accuracy and reliabilityof the location determinations made by the readers.

Reading ranges may be adjusted in accordance with the specifications ofthe system user. For example, providing readers with shorter ranges mayyield more accurate determinations of object locations than arrangementsin which the readers have longer ranges.

FIG. 5 shows another embodiment which uses RFID readers 172 positionednear a two dimensional space 170, e.g., a surface, and cameras 180. TheRFID readers 172 have reading ranges 174 as before described. Here, inaddition to carrying RFID tags, the objects 178 include light emittingsources 188 that are located on or in the objects. Cameras 180 arepositioned at observational viewpoints of the surface to have a full andcomplete view of same. The cameras are shown as being positioned at thecorners of the surface 170 and the array of RFID readers 172. Thecameras 180 provide the capability of visually observing light-emittingobjects that are on the surface from one or more vantage points,depending on the number of cameras employed. In one embodiment, eachcamera has a full and complete view of the two-dimensional surface. Asshown in the figure, the cameras are located at four (4) vantage points,though other arrangements are possible. In one embodiment, the camerasmay be video cameras. In another embodiment, the cameras capture stillimages. The readers 172 are configured in a grid configuration asdescribed above. Using a multiple camera arrangement may provide moreprecise position determination for the objects, and improves thelikelihood that the object emitting light is visible when objects arestacked or there are other objects that may possibly beview-obstructing. The RFID readers 172 and cameras 180 may be used inthe object tracking system 140 described in relation to FIG. 2.

In one embodiment, the cameras 180 capture images that are synchronizedwith the RFID readers 172. The circuitry within the objects is activatedby the signal transmitted by the RFID readers. The circuitry powers theRFID tags and the light emitting sources. The light emitted by thesources 188 within the objects 178 is detected by the cameras 180 at thesame time the identities of the RFID tags within the objects 178 areread by the RFID readers 172. In this embodiment in accordance with thepresent principles, the location of an object in the two dimensionalspace be determined by RFID tracking and from visual informationcaptured by one or more cameras. This may provide greater accuracy indetermining the locations of the objects. An identification approachusing RFID and cameras may increase the reliability of locationdeterminations.

The light sources 188 within the objects 178 may be configured to emitlight in an identifying pattern that is detectable by the cameras 180.For example, the light sources may blink and pulse in a discerniblepattern, such as one based on Morse code. Each object may be configuredto emit light in its own unique discernable pattern. In thisarrangement, patterned light emission is, in its own sense, a uniqueobject identifier.

Further, cameras 180 may be calibrated in order to provide adetermination on the distance between the camera, e.g., the camera lens,and an object that is emitting light. In one embodiment, the distancedetermination is a linear distance determination that accounts for thedifference in height between the camera lens and the two-dimensionalspace on which the objects are located. By determining linear distances,and having information on the spatial configuration of the array of RFIDreaders, the accuracy of the correlation between the data obtained bythe RFID reader and the image captured by the camera image be improved.

The number of cameras and the camera locations may be configured by thesystem user. Increasing the number of cameras may improve the accuracyof the visual determinations of object locations, such as for example,when objects are provided in a stack. While FIG. 5 shows cameras 180located on the corners of the two dimensional space, they may be locatedanywhere on the perimeter of the space, over the space, under the space,and in any combination thereof. In one embodiment in accordance with thepresent principles, the RFID readers and cameras are configured togetherin an array, e.g., at each array location, there is an RFID reader and acamera. In another arrangement, selected locations have an RFID readerand a camera.

FIG. 6 depicts an object 178 including an RFID tag 186 and anilluminating light source 188 in accordance with an embodiment of thepresent principles. Object 178 is comprised of RFID circuit layer 194which includes the circuitry for operating RFID tag 186 and illuminatinglight source 188. For example, the RFID circuit layer 194 may beprovided with an integrated circuit for storing and processinginformation, for modulating and demodulating a radio-frequency (RF)signal, collecting DC power from the signal transmitted by the RFIDreader signal, and an antenna for receiving and transmitting the signal.RFID circuit layer 194 also powers the light emitting source, which inone embodiment, may be a light emitting diode.

Object 178 further includes an optically transparent encapsulating layer192 that provides a light guide to propagate the light emitted from thelight emitting source 188. The optically transparent encapsulating layermay be made from any material that freely passes light, such as asuitable thermoplastic material.

The object structure is provided with encapsulating layers 190 on itsouter sides, e.g., its upper and lower sides, which encapsulates theRFID circuit layer 194, the RFID tag 186, the optically transparentencapsulating layer 192 and the light emitting source 188. Theencapsulating layers 190 should protect the interior components of theobject 178 while allowing light emitted by the light emitting source 188to pass freely through the object, to allow the light to be visuallyobserved, e.g., visually observed by the cameras 180.

Referring to FIG. 7, an exemplary method 200 of tracking objects in atwo-dimensional space, in accordance with an embodiment of the presentprinciples, is described. Part or all of method 200 may be performed bysystems 100 and 140 of FIG. 1 and FIG. 2, and the array that is shown inFIG. 3, FIG. 4 and FIG. 5.

Initially, tracking devices may be configured in an array to track atwo-dimensional space in which objects tagged with identifyinginformation may move about the space, such as described in relation toFIGS. 3, 4 and 5. In one embodiment, one or more of the tracking devicesin the array have object reading ranges that overlap object readingranges of at least one closest neighboring tracking device. Theidentifying information tagged to the object may be included in RFIDtags that transmit unique identifying data to the tracking devices.

In block 210, a first group of tracking devices in the array isactivated to read the identifying data of the objects located within thereading ranges of the tracking devices of the group. As indicted, theidentifying data may be an RFID tag and the tracking devices may be RFIDreaders that are activated as a first group. The tracking devices of thefirst group may not have reading ranges that overlap with each other.

In block 215, a second group of tracking devices in the array isactivated to read the identifying data of objects located within thereading ranges of the tracking devices of the second group. The trackingdevices of the second group may not have reading ranges that overlapwith each other, and the tracking devices of the first group and thetracking devices of the second group may be dissimilar, e.g., there areno tracking devices common to each group. As indicted, the identifyingdata may be an RFID tag and the tracking devices may be RFID readersthat are activated as a second group.

In block 220, objects read by each tracking device of the first groupare compared to the objects read by each tracking device of the secondgroup. Objects that are read by two or more tracking devices, e.g.,tracking devices of the first group and tracking devices of the secondgroup, are identified.

In block 225, the locations of the objects in the two dimensional spaceread by two or more tracking devices, based on the locations and readingranges of the tracking devices that read the objects, are determined. Inone embodiment, the object may be determined to be at location that isat the mean distance between the RFID readers that read the tag.

FIG. 8 describes another embodiment of a method 300 of tracking objectsin a two-dimensional space in accordance with the present principles.The actions taken in blocks 310, 315, 320 and 325 respectivelycorrespond to the actions taken in blocks 210, 215, 220 and 225 of theblock/flow diagram of FIG. 7, and as described above in relation to themethod 200. The discussion of the actions in these blocks is relied onherein. The method of FIG. 8 may be practiced in accordance with thearray of FIG. 5 and the system 140 of FIG. 2.

In block 305, information is received from one or more cameraspositioned to observe the two-dimensional space and the objects in thespace, the objects including a light emitting source that visuallyidentify the location of the objects. Visual markings on the table maybe mapped out in advance, which may locate the objects with higheraccuracy by correlating light emissions to the visual markings.

In block 330, determinations of the locations of illuminated objects aremade from camera images. The determinations of locations of objectsbased on the camera images and the determinations of the locations ofthe objects read the tracking devices are synchronized to provide alocation determination based on RFID data and visual data.

Localization using a multiple-camera system using simultaneousobservations can be enabled to locate objects at an accuracy of about aninch or better. The determination from the camera image is synchronizedwith the determined locations of the objects in the two dimensionalspace read by two or more tracking devices, based on the locations andreading ranges of the tracking devices that read the objects.

Tracking objects in a two-dimensional space in accordance with thedescribed embodiments in accordance with the present principles offersseveral advantages. Information on the locations of objects may beobtained in real time, with precision and accuracy. This permits themanager of a facility, such as a gaming facility, to ascertain that theobjects such as gaming chips, which are exchangeable for an equivalentmonetary value, are genuine and have not been tampered with or notcounterfeited.

Referring to FIG. 9, an exemplary processing system 400 to which thepresent principles may be applied is shown. The processing system 400includes at least one processor (CPU) 404 operatively coupled to othercomponents via a system bus 402. Object tracking system 100 isoperatively coupled to the system bus 402. A cache 406, a Read OnlyMemory (ROM) 408, a Random Access Memory (RAM) 410, an input/output(I/O) adapter 420, a sound adapter 430, a network adapter 440, a userinterface adapter 450, and a display adapter 460, are also operativelycoupled to the system bus 402.

A first storage device 422 and a second storage device 424 areoperatively coupled to system bus 402 by the I/O adapter 420. Thestorage devices 422 and 424 can be any of a disk storage device (e.g., amagnetic or optical disk storage device), a solid state magnetic device,and so forth. The storage devices 422 and 424 can be the same type ofstorage device or different types of storage devices.

A speaker 432 is operatively coupled to system bus 402 by the soundadapter 430. A transceiver 442 is operatively coupled to system bus 402by network adapter 440. A display device 462 is operatively coupled tosystem bus 402 by display adapter 460.

A first user input device 452, a second user input device 454, and athird user input device 456 are operatively coupled to system bus 402 byuser interface adapter 450. The user input devices 452, 454 and 456 canbe any of a keyboard, a mouse, a keypad, an image capture device, amotion sensing device, a microphone, a device incorporating thefunctionality of at least two of the preceding devices, and so forth. Ofcourse, other types of input devices can also be used, while remainingconsistent with the present principles. The user input devices 452, 454,and 456 can be the same type of user input device or different types ofuser input devices. The user input devices 452, 454, and 456 are used toinput and output information to and from system 400. Further, RFIDreaders 464 of the exemplary object tracking system 100 may beoperatively coupled to the system bus 402.

The processing system 400 may also include other elements (not shown),as readily contemplated by one of skill in the art, as well as omitcertain elements. For example, various other input devices and/or outputdevices can be included in processing system 400, depending upon theparticular implementation of the same, as readily understood by one ofordinary skill in the art. For example, various types of wireless and/orwired input and/or output devices can be used. Moreover, additionalprocessors, controllers, memories, and so forth, in variousconfigurations can also be utilized as readily appreciated by one ofordinary skill in the art. It is to be appreciated that the termsprocessors and controllers can be used interchangeably herein. These andother variations of the processing system 400 are readily contemplatedby one of ordinary skill in the art given the teachings of the presentprinciples provided herein.

While the present disclosure includes a detailed description on cloudcomputing, it should be understood that implementation of the subjectmatter described herein is not limited to a cloud computing environment.Rather, embodiments of the present invention are capable of beingimplemented in conjunction with any other type of computing environmentnow known or later developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based email). Theconsumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, storage, or evenindividual application capabilities, with the possible exception oflimited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting for loadbalancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 10, a schematic of an example of a cloud computingnode 510 is shown. Cloud computing node 510 is only one example of asuitable cloud computing node and is not intended to suggest anylimitation as to the scope of use or functionality of embodiments of theinvention described herein. Regardless, cloud computing node 510 iscapable of being implemented and/or performing any of the functionalityset forth hereinabove.

In cloud computing node 510 there is a computer system/server 512, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 512 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 512 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 512 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 10, computer system/server 512 in cloud computing node510 is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 512 may include, but are notlimited to, one or more processors or processing units 516, a systemmemory 528, and a bus 518 that couples various system componentsincluding system memory 528 to processor 516.

Bus 518 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnect (PCI) bus.

Computer system/server 512 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 512, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 528 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 530 and/or cachememory 532. Computer system/server 512 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 534 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 518 by one or more datamedia interfaces. As will be further depicted and described below,memory 528 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 540, having a set (at least one) of program modules 542,may be stored in memory 528 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 542 generally carry out the functionsand/or methodologies of embodiments of the invention as describedherein.

Computer system/server 512 may also communicate with one or moreexternal devices 514 such as a keyboard, a pointing device, a display524, etc.; one or more devices that enable a user to interact withcomputer system/server 512; and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 512 to communicate withone or more other computing devices. Such communication can occur viaInput/Output (I/O) interfaces 522. Still yet, computer system/server 512can communicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 520. As depicted, network adapter 520communicates with the other components of computer system/server 512 viabus 518. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 512. Examples include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 11, illustrative cloud computing environment 650is depicted. As shown, cloud computing environment 650 comprises one ormore cloud computing nodes 610 with which local computing devices usedby cloud consumers, such as, for example, personal digital assistant(PDA) or cellular telephone 654A, desktop computer 654B, laptop computer654C, and/or automobile computer system 654N may communicate. Nodes 610may communicate with one another. They may be grouped (not shown)physically or virtually, in one or more networks, such as Private,Community, Public, or Hybrid clouds as described hereinabove, or acombination thereof. This allows cloud computing environment 650 tooffer infrastructure, platforms and/or software as services for which acloud consumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 654A-Nshown in FIG. 11 are intended to be illustrative only and that computingnodes 610 and cloud computing environment 650 can communicate with anytype of computerized device over any type of network and/or networkaddressable connection (e.g., using a web browser).

FIG. 12 shows a set of functional abstraction layers provided by cloudcomputing environment 650. It should be understood in advance that thecomponents, layers, and functions shown in FIG. 12 are intended to beillustrative only and embodiments of the invention are not limitedthereto. As depicted, the following layers and corresponding functionsare provided:

Hardware and software layer 760 includes hardware and softwarecomponents. Examples of hardware components include mainframes, in oneexample IBM® zSeries® systems; RISC (Reduced Instruction Set Computer)architecture based servers, in one example IBM pSeries® systems; IBMxSeries® systems; IBM BladeCenter® systems; storage devices; networksand networking components. Examples of software components includenetwork application server software, in one example IBM WebSphere®application server software; and database software, in one example IBMDB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter,WebSphere, and DB2 are trademarks of International Business MachinesCorporation registered in many jurisdictions worldwide).

Virtualization layer 762 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers;virtual storage; virtual networks, including virtual private networks;virtual applications and operating systems; and virtual clients.

In one example, management layer 764 may provide the functions describedbelow. Resource provisioning provides dynamic procurement of computingresources and other resources that are utilized to perform tasks withinthe cloud computing environment. Metering and Pricing provide costtracking as resources are utilized within the cloud computingenvironment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal provides access to the cloud computing environment forconsumers and system administrators. Service level management providescloud computing resource allocation and management such that requiredservice levels are met. Service Level Agreement (SLA) planning andfulfillment provide pre-arrangement for, and procurement of, cloudcomputing resources for which a future requirement is anticipated inaccordance with an SLA.

Workloads layer 766 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation; software development and lifecycle management; virtualclassroom education delivery; data analytics processing; transactionprocessing; and two-dimensional object tracking.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Reference in the specification to “one embodiment” or “an embodiment” ofthe present principles, as well as other variations thereof, means thata particular feature, structure, characteristic, and so forth describedin connection with the embodiment is included in at least one embodimentof the present principles. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment”, as well any other variations,appearing in various places throughout the specification are notnecessarily all referring to the same embodiment.

It is to be appreciated that the use of any of the following “/”,“and/or”, and “at least one of”, for example, in the cases of “A/B”, “Aand/or B” and “at least one of A and B”, is intended to encompass theselection of the first listed option (A) only, or the selection of thesecond listed option (B) only, or the selection of both options (A andB). As a further example, in the cases of “A, B, and/or C” and “at leastone of A, B, and C”, such phrasing is intended to encompass theselection of the first listed option (A) only, or the selection of thesecond listed option (B) only, or the selection of the third listedoption (C) only, or the selection of the first and the second listedoptions (A and B) only, or the selection of the first and third listedoptions (A and C) only, or the selection of the second and third listedoptions (B and C) only, or the selection of all three options (A and Band C). This may be extended, as readily apparent by one of ordinaryskill in this and related arts, for as many items listed.

Having described preferred embodiments of a system and method oftracking objects in a two-dimensional space (which are intended to beillustrative and not limiting), it is noted that modifications andvariations can be made by persons skilled in the art in light of theabove teachings. It is therefore to be understood that changes may bemade in the particular embodiments disclosed which are within the scopeof the invention as outlined by the appended claims. Having thusdescribed aspects of the invention, with the details and particularityrequired by the patent laws, what is claimed and desired protected byLetters Patent is set forth in the appended claims.

What is claimed is:
 1. A method of tracking tagged objects in atwo-dimensional space, comprising: sequentially activating a pluralityof tracking devices located underneath a horizontal surface of thetwo-dimensional space disposed above ground, including sequentiallyactivating: first tracking devices of the plurality of tracking devicesthat read tagged objects on the horizontal surface that are withinreading ranges of the first tracking devices; and second trackingdevices of the plurality of tracking devices that read tagged objects onthe horizontal surface that are within reading ranges of the secondtracking devices; comparing data collected from each of the plurality oftracking devices underneath the horizontal surface to identify that atleast a given one of the tagged objects on the horizontal surface hasbeen read by at least two of the plurality of tracking devicesunderneath the horizontal surface; and determining a location of thegiven one of the tagged objects on the horizontal surface based on thelocations of the at least two tracking devices underneath the horizontalsurface that read the given one of the tagged objects on the horizontalsurface.
 2. The method of claim 1, wherein the determining of thelocation of the given one of the tagged objects comprises designatingthe given one of the tagged objects as being at a mean distance betweenthe at least two tracking devices that read the given one of the taggedobjects.
 3. The method of claim 1, wherein the first tracking devicesand second tracking devices have reading ranges that overlap the readingranges of neighboring tracking devices.
 4. The method of claim 1,wherein no common tracking devices exist among the first trackingdevices and second tracking devices.
 5. The method of claim 1, whereinthe tracking devices include radio-frequency identification readingdevices and the tagged objects include radio-frequency identificationtags, and wherein the collected data comprises identity data that isunique to the radio-frequency identification tag of the given one of thetagged objects.
 6. The method of claim 1, further comprising receivinginformation from cameras positioned to take images of the tagged objectsin the two-dimensional space.
 7. The method of claim 6, wherein thetagged objects include light-emitting sources that visually identify thelocations of the tagged objects, and the method further comprisessynchronizing visual identifications of the location of the given one ofthe tagged objects determined based on the camera image of the given oneof the tagged objects with the determined location of the given one ofthe tagged objects read by the tracking devices, wherein visualinformation-including the determined location of the given one of thetagged objects is provided.
 8. The method of claim 7, wherein the lightemitting sources emit light in a pattern that is individual to each ofthe tagged objects.
 9. A system for tracking tagged objects in atwo-dimensional space, comprising: a memory device for storing programcode; and at least one processor device operatively coupled to thememory device and configured to execute program code stored on thememory device to: sequentially activate a plurality of tracking deviceslocated underneath a horizontal surface of the two-dimensional spacedisposed above ground, including sequentially activating: first trackingdevices of the plurality of tracking devices that read tagged objects onthe horizontal surface that are within reading ranges of the firsttracking devices; and second tracking devices of the plurality oftracking devices that read tagged objects on the horizontal surface thatare within reading ranges of the second tracking devices; compare datacollected from each of the plurality of tracking devices underneath thehorizontal surface to identify that at least a given one of the taggedobjects on the horizontal surface has been read by at least two of theplurality of tracking devices underneath the horizontal surface; anddetermine a location of the given one of the tagged objects on thehorizontal surface based on the locations of the at least two trackingdevices underneath the horizontal surface that read the given one of thetagged objects on the horizontal surface.
 10. The system of claim 9,wherein each tracking device is configured to stamp a time at which thetracking device read the tagged objects.
 11. The system of claim 9,wherein the at least one processor device is configured to storeinformation selected from the group consisting of: locations of eachtracking device; distances of each tracking device from its nearestneighboring readers; distances of each tracking device from each of theother readers; the reading range of each tracking device; and andcombinations thereof.
 12. The system of claim 9, wherein the at leastone processor device is configured to sequentially activate the firstand second tracking devices in a coordinated sequence.
 13. The system ofclaim 9, wherein the at least one processor device is configured todetermine the location of the given one of the tagged objects bydesignating the given one of the tagged objects as being at a meandistance between the at least two tracking devices that read the givenone of the tagged objects.
 14. The system of claim 9, wherein eachtracking device is configured to have a reading range that overlaps thereading ranges of neighboring tracking devices.
 15. The system of claim9, wherein the system further includes cameras that take images of thetagged objects in the two-dimensional space, and wherein the at leastone processor device is further configured to determine the location ofthe given one of the tagged objects based on the image of the given oneof the tagged objects.
 16. The system of claim 15, wherein the taggedobjects include illuminating light sources.
 17. The system of claim 16,wherein the at least one processor device is configured to executeprogram code stored on the memory device to synchronize the location ofthe given one of the tagged objects based on the image of the given oneof the tagged objects with the determined location of the given one ofthe tagged objects to provide visual information including thedetermined location of the given one of the tagged objects.
 18. Thesystem of claim 17, wherein the given one of the tagged objects furtherincludes a circuit that simultaneously activates the radio-frequencyidentification tags and the illuminating light sources when the giventagged object is in range of a tracking device.
 19. A computer programproduct comprising a non-transitory computer readable storage mediumhaving program instructions embodied therewith, the program instructionsbeing executable by a computer to cause the computer to perform a methodfor tracking tagged objects in a two-dimensional space, the methodcomprising: sequentially activating a plurality of tracking deviceslocated underneath a horizontal surface of the two-dimensional spacedisposed above ground, including sequentially activating: first trackingdevices of the plurality of tracking devices that read tagged objects onthe horizontal surface that are within reading ranges of the firsttracking devices; and second tracking devices of the plurality oftracking devices that read tagged objects on the horizontal surface thatare within reading ranges of the second tracking devices; comparing datacollected from each of the plurality of tracking devices underneath thehorizontal surface to identify that at least a given one of the taggedobjects on the horizontal surface has been read by at least two of theplurality of tracking devices underneath the horizontal surface; anddetermining a location of the given one of the tagged objects on thehorizontal surface based on the locations of the at least two trackingdevices underneath the horizontal surface that read the given one of thetagged objects on the horizontal surface.
 20. The computer programproduct of claim 19, wherein the determining of the location of thegiven one of the tagged objects comprises designating the given one ofthe tagged objects as being at a mean distance between the at least twotracking devices that read the given one of the tagged objects.